package com.shen.jcbf.conllectionbf;

import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.*;

/**
 * 说明：集合迭代测试
 * @author shenhx
 * @date 2017年6月27日
 */
public class ListTest {


	/**
	 * 测试方法
	 */
	@Test
	public void test002(){
		System.out.println("------------123----------");

		// url = "jdbc:mysql://localhost:3306/数据库名"
		String url = "jdbc:mysql://localhost:3306/test20230521";
		String user = "root";
		String pwd = "shx336699";
		// jdbc驱动
		String Driver = "com.mysql.cj.jdbc.Driver";

		try {
			// 注册jdbc驱动
			Class.forName(Driver);
			Connection connection = DriverManager.getConnection(url,user,pwd);
			if(!connection.isClosed()){
				System.out.println("数据库连接成功！");
			}
			connection.close();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
			System.out.println("数据库驱动未找到！");
		} catch (SQLException e) {
			e.printStackTrace();
			System.out.println("数据库连接失败！");
		}
	}

	/**
	 * 说明：迭代器迭代集合，实现动态添加(现在基本不用了吧。)
	 * @author shenhx
	 * @date 2017年6月27日
	 */
	@Test
	public void test001(){
		List<String> li = new ArrayList<String>();
		li.add("a");
		li.add("b");
		li.add("c");
		li.add("d");
		java.util.ListIterator<String> itli = li.listIterator();
		while(itli.hasNext()){
			Object linext = itli.next();
			if("b".equals(linext)){
				itli.add("");
				//itli.remove();
			}
			System.out.println(linext);
		}
		
//		for(int i = 0;i<li.size();i++){
//			if("b".equals(li.get(i))){
//				//li.add("e");
//				li.remove(i);
//			}
//			System.out.println(li.get(i));
//		}
	}
	
	/**
	 * 说明：Linkedhashset 也是不可重复的
	 * @author shenhx
	 * @date 2017年7月5日
	 */
	@Test
    public void test005(){
    	Set se = new LinkedHashSet();
    	se.add("2");
    	se.add("5");
    	se.add("8");
    	se.add("6");
    	se.add("5");//这个插入等于不生效，5 这个对象，还在集合的第二个位置
    	se.add("7");
    	Iterator seit = se.iterator();
    	while(seit.hasNext()){
    		System.out.println(seit.next());
    	}
    }
	
	/**
	 * 说明：TreeSet 不可重复
	 * @author shenhx
	 * @date 2017年7月5日
	 */
	@Test
    public void test006(){
    	Set se = new TreeSet();
    	se.add("2");
    	se.add("5");
    	se.add("8");
    	se.add("6");
    	se.add("5");//这个插入等于不生效，5 这个对象，还在集合的第二个位置
    	se.add("7");
    	Iterator seit = se.iterator();
    	while(seit.hasNext()){
    		System.out.println(seit.next());
    	}
    }
}
